package vm;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

/**
 * Virtualios ir realios mašinos realizacija
 * @author Paulius Dambrauskas, Šarūnas Kūjalis
 */

/*
 * PAGRINDINĖS:
 * Programos vykdymas                       [+]
 * Žingsninis režimas                       [+]
 * Komandų atpažinimas ir vykdymas          [+]
 * VM atminties vaizdavimas                 [+]
 * RM atminties vaizdavimas                 [+]
 * Nenuoseklus puslapių VM skirimas         [+]
 * PAPILDOMOS:
 * Grafinis interfeisas                     [+]
 * Puslapių parinkimas atsitiktine tvarka   [+]
 * Galimybė keisti registrų reikšmes        [+]
 * Galimybė kesiti atmintį                  [+]
 * Leistu užkrauti kitas vartotojų programas[+]
 */
/*TEST PROGRAMA
READ
PUSH
READ
PUSH
ADDD
PRIN
HALT
 */
public class VM extends Application {
    public static String hard = System.getProperty("user.dir"); //HDD folderis
    public static int numOfBlocks = 16;
    public static int numOfWords = 16;
    public static int realMemorySize = 1024;
    public static int stackStart = 0;
    public static int stackSize = 3; //Blokai
    public static int pageTableStart = 976;
    public static int mode = 1;
    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("MainWindow.fxml"));
        Scene scene = new Scene(root);
        stage.setTitle("Mašina");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}